<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>12_const关键字</title>
</head>
<!-- 
    const: 将某个变量修饰为常量.
    为什么使用它: 当我们修饰的标识符不会被再次赋值时,就可以使用 const 来保证数据的安全性
    建议: 在 es6 中,优先使用 const, 只有需要改变某一个标识符的时候才使用 let
 -->

<body>

</body>
<script>
    const a = 20
        //a = 30  1.一旦给 const 修饰的标识符被赋值后,不能修改
    console.log(a)

    //const name //2.使用 const 定义变量时一定要赋值

    //3.常量定义的变量是一个对象时,对象不能修改,但对象内部的属性可以修改
    const obj = {
        name: "tom",
        age: 18
    }
    obj.name = "jack"
    console.log(obj)

    //es6: 对象增强写法
    //es6之前:
    let name = "张三"
    let age = 190
    let obj1 = {
        name: name,
        age: age
    }

    //es6之后,这是属性的缩写   
    obj1 = {
        name,
        age
    }
    console.log(obj1)

    //方法的缩写,es6之前
    let obj2 = {
        test: function() {
            console.log("es6之前: obj2的test函数")
        }
    }
    obj2.test()

    //es6之后
    obj2 = {
        test() {
            console.log("es6之后: obj2的test函数")
        }
    }
    obj2.test()
</script>

</html>